{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ourownstory/neural_prophet/blob/main/tutorials/feature-use/network_architecture_visualization.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "0Krto6fIvHit"
   },
   "source": [
    "# Network Architecture Visualization\n",
    "\n",
    "Understanding the Model Architecture might be really helpful for both debugging your network or understanding its behaviour.\n",
    "\n",
    "In this notebook, we will build a global model using data from the hourly load of the ERCOT region. We will use as reference the notebook `./global_modeling.ipynb`\n",
    "\n",
    "Finally, we will visualize the network's architecture.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First we will install graphviz. For windows go to https://www.graphviz.org/download/.\n",
    "For Mac/Linux run the command below\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    # it already installed dependencies\n",
    "    from torchsummary import summary\n",
    "    from torchviz import make_dot\n",
    "except ImportError:\n",
    "    # install graphviz on system\n",
    "    import platform\n",
    "\n",
    "    if \"Darwin\" == platform.system():\n",
    "        !brew install graphviz\n",
    "    elif \"Linux\" == platform.system():\n",
    "        !sudo apt install graphviz\n",
    "    else:\n",
    "        print(\"go to  https://www.graphviz.org/download/\")\n",
    "    # Next we need to install the following dependencies:\n",
    "    !pip install torchsummary\n",
    "    !pip install torch-summary\n",
    "    !pip install torchviz\n",
    "    !pip install graphviz\n",
    "    # import\n",
    "    from torchsummary import summary\n",
    "    from torchviz import make_dot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    from neuralprophet import NeuralProphet\n",
    "except ImportError:\n",
    "    # if NeuralProphet is not installed yet:\n",
    "    !pip install git+https://github.com/ourownstory/neural_prophet.git\n",
    "    from neuralprophet import NeuralProphet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from neuralprophet import set_log_level\n",
    "\n",
    "set_log_level(\"ERROR\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "Ywzhdfn2uqLf",
    "outputId": "95decf15-d410-45c9-b703-91fd68891e7f",
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "First, we load the data:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 140
    },
    "id": "TvrgKVWIuxFJ",
    "outputId": "99908203-2022-456a-9d05-73c3d0e6731e"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ds</th>\n",
       "      <th>COAST</th>\n",
       "      <th>EAST</th>\n",
       "      <th>FAR_WEST</th>\n",
       "      <th>NORTH</th>\n",
       "      <th>NORTH_C</th>\n",
       "      <th>SOUTHERN</th>\n",
       "      <th>SOUTH_C</th>\n",
       "      <th>WEST</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2004-01-01 01:00:00</td>\n",
       "      <td>7225.09</td>\n",
       "      <td>877.79</td>\n",
       "      <td>1044.89</td>\n",
       "      <td>745.79</td>\n",
       "      <td>7124.21</td>\n",
       "      <td>1660.45</td>\n",
       "      <td>3639.12</td>\n",
       "      <td>654.61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2004-01-01 02:00:00</td>\n",
       "      <td>6994.25</td>\n",
       "      <td>850.75</td>\n",
       "      <td>1032.04</td>\n",
       "      <td>721.34</td>\n",
       "      <td>6854.58</td>\n",
       "      <td>1603.52</td>\n",
       "      <td>3495.16</td>\n",
       "      <td>639.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2004-01-01 03:00:00</td>\n",
       "      <td>6717.42</td>\n",
       "      <td>831.63</td>\n",
       "      <td>1021.10</td>\n",
       "      <td>699.70</td>\n",
       "      <td>6639.48</td>\n",
       "      <td>1527.99</td>\n",
       "      <td>3322.70</td>\n",
       "      <td>623.42</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    ds    COAST    EAST  FAR_WEST   NORTH  NORTH_C  SOUTHERN  \\\n",
       "0  2004-01-01 01:00:00  7225.09  877.79   1044.89  745.79  7124.21   1660.45   \n",
       "1  2004-01-01 02:00:00  6994.25  850.75   1032.04  721.34  6854.58   1603.52   \n",
       "2  2004-01-01 03:00:00  6717.42  831.63   1021.10  699.70  6639.48   1527.99   \n",
       "\n",
       "   SOUTH_C    WEST  \n",
       "0  3639.12  654.61  \n",
       "1  3495.16  639.88  \n",
       "2  3322.70  623.42  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_location = \"https://raw.githubusercontent.com/ourownstory/neuralprophet-data/main/datasets/\"\n",
    "df_ercot = pd.read_csv(data_location + \"multivariate/load_ercot_regions.csv\")\n",
    "df_ercot.head(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We extract the name of the regions which will be later used in the model creation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "regions = list(df_ercot)[1:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Global models can be enabled when the `df` input of the function has an additional column 'ID', which identifies the different time-series (besides the typical column 'ds', which has the timestamps, and column 'y', which contains the observed values of the time series). We select data from a three-year interval in our example (from 2004 to 2007)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ds</th>\n",
       "      <th>y</th>\n",
       "      <th>ID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2004-01-01 01:00:00</td>\n",
       "      <td>7225.09</td>\n",
       "      <td>COAST</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2004-01-01 02:00:00</td>\n",
       "      <td>6994.25</td>\n",
       "      <td>COAST</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2004-01-01 03:00:00</td>\n",
       "      <td>6717.42</td>\n",
       "      <td>COAST</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    ds        y     ID\n",
       "0  2004-01-01 01:00:00  7225.09  COAST\n",
       "1  2004-01-01 02:00:00  6994.25  COAST\n",
       "2  2004-01-01 03:00:00  6717.42  COAST"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_global = pd.DataFrame()\n",
    "for col in regions:\n",
    "    aux = df_ercot[[\"ds\", col]].copy(deep=True)  # select column associated with region\n",
    "    aux = aux.iloc[:26301, :].copy(deep=True)  # selects data up to 26301 row (2004 to 2007 time stamps)\n",
    "    aux = aux.rename(columns={col: \"y\"})  # rename column of data to 'y' which is compatible with Neural Prophet\n",
    "    aux[\"ID\"] = col\n",
    "    df_global = pd.concat((df_global, aux))\n",
    "df_global.head(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When a pd.DataFrame with an 'ID' column is the input for the `split_df` function, train and validation data are provided in a similar format. For global models, the input data is typically split according to a fraction of the time encompassing all time series (default when there is more than one 'ID' and when `local_split=False`). If the user wants to split each time series locally, the `local_split` parameter must be set to True. In this example, we will split our data into train and test (with a 33% test proportion - 2 years train and 1 year test)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Global modeling lets us train our model based on a global or a local normalization. In the latter, each time series is normalized locally (each time series has its respective data params). In the former, we have unique data params which will be used in all the time series at hand."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Global Modeling - Local Normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "m = NeuralProphet(n_lags=24, epochs=2, learning_rate=0.1)\n",
    "df_train, df_test = m.split_df(df_global, valid_p=0.33, local_split=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The default fitting of global models is based on local data normalization. Each time series will have data normalization parameters associated with each 'ID' provided. We are going to define a model which predicts the next hour based on the last 24 hours."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After creating an object of the `NeuralProphet`, a model can be created by calling the `fit` function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 148,
     "referenced_widgets": [
      "4ac0917121f8498698e087259b787dcf",
      "94108fe9090f47c7ba2216479e0d3fac",
      "2d8235496ec642af8192f52d9f2692b1",
      "c94a8ae41b994c55a96ad44806b0f1c7",
      "24bf564f55644476911a6cf004a395e7",
      "87c170d1e00742a29e7f797e98c49cc2",
      "8a192ccc35e94e9f8be85898ed583e2c",
      "9467345334da47a8beadc770feef952a",
      "dc468cd35d2b4f0e8eb287689ac15412",
      "f35fc9cbd82c4187a4cdc08c3ac26998",
      "aab682cd3df24821a80331720f7c24e5"
     ]
    },
    "id": "s7faUgnrvGFN",
    "outputId": "50da2450-767f-4e3b-f03d-d03226d24ff8",
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "933dc9051e1c4b2baf7fe6d1fe31ddd9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Training: 0it [00:00, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MAE</th>\n",
       "      <th>RMSE</th>\n",
       "      <th>Loss</th>\n",
       "      <th>RegLoss</th>\n",
       "      <th>epoch</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.025526</td>\n",
       "      <td>0.033126</td>\n",
       "      <td>0.000416</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        MAE      RMSE      Loss  RegLoss  epoch\n",
       "1  0.025526  0.033126  0.000416      0.0      1"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metrics = m.fit(df_train, freq=\"H\")\n",
    "metrics.tail(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Network Summary\n",
    "From https://pypi.org/project/torch-summary/ :\n",
    "\n",
    "Torch-summary provides information complementary to what is provided by `print(your_model)` in PyTorch, similar to Tensorflow's `model.summary()` API to view the visualization of the model, which is helpful while debugging your network. In this project, we implement a similar functionality in PyTorch and create a clean, simple interface to use in your projects.`\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=================================================================\n",
      "Layer (type:depth-idx)                   Param #\n",
      "=================================================================\n",
      "├─MetricCollection: 1-1                  --\n",
      "|    └─MeanAbsoluteError: 2-1            --\n",
      "|    └─MeanSquaredError: 2-2             --\n",
      "├─MetricCollection: 1-2                  --\n",
      "|    └─MeanAbsoluteError: 2-3            --\n",
      "|    └─MeanSquaredError: 2-4             --\n",
      "├─GlobalPiecewiseLinearTrend: 1-3        13\n",
      "├─GlobalFourierSeasonality: 1-4          --\n",
      "|    └─ParameterDict: 2-5                30\n",
      "├─ModuleList: 1-5                        --\n",
      "|    └─Linear: 2-6                       24\n",
      "=================================================================\n",
      "Total params: 67\n",
      "Trainable params: 67\n",
      "Non-trainable params: 0\n",
      "=================================================================\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "=================================================================\n",
       "Layer (type:depth-idx)                   Param #\n",
       "=================================================================\n",
       "├─MetricCollection: 1-1                  --\n",
       "|    └─MeanAbsoluteError: 2-1            --\n",
       "|    └─MeanSquaredError: 2-2             --\n",
       "├─MetricCollection: 1-2                  --\n",
       "|    └─MeanAbsoluteError: 2-3            --\n",
       "|    └─MeanSquaredError: 2-4             --\n",
       "├─GlobalPiecewiseLinearTrend: 1-3        13\n",
       "├─GlobalFourierSeasonality: 1-4          --\n",
       "|    └─ParameterDict: 2-5                30\n",
       "├─ModuleList: 1-5                        --\n",
       "|    └─Linear: 2-6                       24\n",
       "=================================================================\n",
       "Total params: 67\n",
       "Trainable params: 67\n",
       "Non-trainable params: 0\n",
       "================================================================="
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(summary(m.model))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Network Vizualisation\n",
    "\n",
    "From https://github.com/szagoruyko/pytorchviz :\n",
    "\n",
    "A small package to create visualizations of PyTorch execution graphs and traces.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 8.0.4 (20230421.1958)\n",
       " -->\n",
       "<!-- Pages: 1 -->\n",
       "<svg width=\"1154pt\" height=\"1720pt\"\n",
       " viewBox=\"0.00 0.00 1154.00 1720.25\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 1716.25)\">\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-1716.25 1150,-1716.25 1150,4 -4,4\"/>\n",
       "<!-- 5818337856 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>5818337856</title>\n",
       "<polygon fill=\"#caff70\" stroke=\"black\" points=\"383,-31.25 301,-31.25 301,0 383,0 383,-31.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"342\" y=\"-5.75\" font-family=\"monospace\" font-size=\"10.00\"> (64, 1, 1)</text>\n",
       "</g>\n",
       "<!-- 5820899136 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>5820899136</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"386,-86.5 298,-86.5 298,-67.25 386,-67.25 386,-86.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"342\" y=\"-73\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5820899136&#45;&gt;5818337856 -->\n",
       "<g id=\"edge124\" class=\"edge\">\n",
       "<title>5820899136&#45;&gt;5818337856</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M342,-66.88C342,-60.39 342,-51.29 342,-42.62\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"345.5,-42.71 342,-32.71 338.5,-42.71 345.5,-42.71\"/>\n",
       "</g>\n",
       "<!-- 5820897552 -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>5820897552</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"386,-141.75 298,-141.75 298,-122.5 386,-122.5 386,-141.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"342\" y=\"-128.25\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5820897552&#45;&gt;5820899136 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>5820897552&#45;&gt;5820899136</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M342,-122.33C342,-115.67 342,-106.24 342,-97.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"345.5,-97.86 342,-87.86 338.5,-97.86 345.5,-97.86\"/>\n",
       "</g>\n",
       "<!-- 5829698320 -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>5829698320</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"350,-760.75 262,-760.75 262,-741.5 350,-741.5 350,-760.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"306\" y=\"-747.25\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829698320&#45;&gt;5820897552 -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>5829698320&#45;&gt;5820897552</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M306,-741.12C306,-722.53 306,-678.55 306,-641.62 306,-641.62 306,-641.62 306,-241.62 306,-208.67 321.15,-172.82 331.79,-151.69\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"335.29,-153.56 336.84,-143.08 329.09,-150.3 335.29,-153.56\"/>\n",
       "</g>\n",
       "<!-- 5829700432 -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>5829700432</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"563,-816 439,-816 439,-796.75 563,-796.75 563,-816\"/>\n",
       "<text text-anchor=\"middle\" x=\"501\" y=\"-802.5\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700432&#45;&gt;5829698320 -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>5829700432&#45;&gt;5829698320</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M467.92,-796.34C435.28,-787.43 385.22,-773.76 349.4,-763.98\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"350.81,-760.46 340.24,-761.2 348.97,-767.21 350.81,-760.46\"/>\n",
       "</g>\n",
       "<!-- 5829699040 -->\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>5829699040</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"563,-871.25 439,-871.25 439,-852 563,-852 563,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"501\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699040&#45;&gt;5829700432 -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>5829699040&#45;&gt;5829700432</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M501,-851.83C501,-845.17 501,-835.74 501,-827.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"504.5,-827.36 501,-817.36 497.5,-827.36 504.5,-827.36\"/>\n",
       "</g>\n",
       "<!-- 5829700288 -->\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>5829700288</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"622,-926.5 522,-926.5 522,-907.25 622,-907.25 622,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"572\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5829700288&#45;&gt;5829699040 -->\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>5829700288&#45;&gt;5829699040</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M559.96,-906.84C549.49,-898.99 534.1,-887.45 521.67,-878.12\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"523.97,-874.72 513.87,-871.52 519.77,-880.32 523.97,-874.72\"/>\n",
       "</g>\n",
       "<!-- 5821424928 -->\n",
       "<g id=\"node49\" class=\"node\">\n",
       "<title>5821424928</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"705,-871.25 581,-871.25 581,-852 705,-852 705,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"643\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700288&#45;&gt;5821424928 -->\n",
       "<g id=\"edge51\" class=\"edge\">\n",
       "<title>5829700288&#45;&gt;5821424928</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M584.04,-906.84C594.51,-898.99 609.9,-887.45 622.33,-878.12\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"624.23,-880.32 630.13,-871.52 620.03,-874.72 624.23,-880.32\"/>\n",
       "</g>\n",
       "<!-- 5774005968 -->\n",
       "<g id=\"node8\" class=\"node\">\n",
       "<title>5774005968</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"610,-993 534,-993 534,-962.5 610,-962.5 610,-993\"/>\n",
       "<text text-anchor=\"middle\" x=\"572\" y=\"-979.5\" font-family=\"monospace\" font-size=\"10.00\">trend.bias</text>\n",
       "<text text-anchor=\"middle\" x=\"572\" y=\"-968.25\" font-family=\"monospace\" font-size=\"10.00\"> (1)</text>\n",
       "</g>\n",
       "<!-- 5774005968&#45;&gt;5829700288 -->\n",
       "<g id=\"edge6\" class=\"edge\">\n",
       "<title>5774005968&#45;&gt;5829700288</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M572,-962.2C572,-954.87 572,-945.87 572,-937.91\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"575.5,-937.95 572,-927.95 568.5,-937.95 575.5,-937.95\"/>\n",
       "</g>\n",
       "<!-- 5829700144 -->\n",
       "<g id=\"node9\" class=\"node\">\n",
       "<title>5829700144</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"196,-816 108,-816 108,-796.75 196,-796.75 196,-816\"/>\n",
       "<text text-anchor=\"middle\" x=\"152\" y=\"-802.5\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700144&#45;&gt;5829698320 -->\n",
       "<g id=\"edge7\" class=\"edge\">\n",
       "<title>5829700144&#45;&gt;5829698320</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M178.12,-796.34C203.23,-787.66 241.41,-774.46 269.52,-764.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"270.44,-767.78 278.75,-761.2 268.15,-761.16 270.44,-767.78\"/>\n",
       "</g>\n",
       "<!-- 5829700576 -->\n",
       "<g id=\"node10\" class=\"node\">\n",
       "<title>5829700576</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"323,-1297.38 235,-1297.38 235,-1278.12 323,-1278.12 323,-1297.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"279\" y=\"-1283.88\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700576&#45;&gt;5829700144 -->\n",
       "<g id=\"edge8\" class=\"edge\">\n",
       "<title>5829700576&#45;&gt;5829700144</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M259.16,-1277.68C223.44,-1259.85 152,-1216.57 152,-1155.75 152,-1155.75 152,-1155.75 152,-915.88 152,-884.87 152,-848.88 152,-827.13\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"155.5,-827.38 152,-817.38 148.5,-827.38 155.5,-827.38\"/>\n",
       "</g>\n",
       "<!-- 5829700624 -->\n",
       "<g id=\"node11\" class=\"node\">\n",
       "<title>5829700624</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"394,-1358.25 306,-1358.25 306,-1339 394,-1339 394,-1358.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"350\" y=\"-1344.75\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700624&#45;&gt;5829700576 -->\n",
       "<g id=\"edge9\" class=\"edge\">\n",
       "<title>5829700624&#45;&gt;5829700576</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M339.22,-1338.68C328.37,-1329.69 311.42,-1315.64 298.27,-1304.73\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"300.82,-1301.46 290.88,-1297.78 296.35,-1306.85 300.82,-1301.46\"/>\n",
       "</g>\n",
       "<!-- 5829700720 -->\n",
       "<g id=\"node12\" class=\"node\">\n",
       "<title>5829700720</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"562,-1413.5 450,-1413.5 450,-1394.25 562,-1394.25 562,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"506\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700720&#45;&gt;5829700624 -->\n",
       "<g id=\"edge10\" class=\"edge\">\n",
       "<title>5829700720&#45;&gt;5829700624</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M479.54,-1393.84C454.1,-1385.16 415.43,-1371.96 386.96,-1362.24\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"388.19,-1358.62 377.59,-1358.7 385.93,-1365.25 388.19,-1358.62\"/>\n",
       "</g>\n",
       "<!-- 5829700864 -->\n",
       "<g id=\"node13\" class=\"node\">\n",
       "<title>5829700864</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"657,-1468.75 557,-1468.75 557,-1449.5 657,-1449.5 657,-1468.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"607\" y=\"-1455.25\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5829700864&#45;&gt;5829700720 -->\n",
       "<g id=\"edge11\" class=\"edge\">\n",
       "<title>5829700864&#45;&gt;5829700720</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M589.87,-1449.09C574.27,-1440.87 550.98,-1428.59 532.9,-1419.06\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"534.7,-1415.52 524.22,-1413.95 531.43,-1421.71 534.7,-1415.52\"/>\n",
       "</g>\n",
       "<!-- 5821423776 -->\n",
       "<g id=\"node33\" class=\"node\">\n",
       "<title>5821423776</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"268,-1413.5 180,-1413.5 180,-1394.25 268,-1394.25 268,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"224\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">CatBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700864&#45;&gt;5821423776 -->\n",
       "<g id=\"edge33\" class=\"edge\">\n",
       "<title>5829700864&#45;&gt;5821423776</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M556.54,-1451.11C484.61,-1441.11 353.13,-1422.83 278.86,-1412.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"279.72,-1408.95 269.33,-1411.04 278.75,-1415.88 279.72,-1408.95\"/>\n",
       "</g>\n",
       "<!-- 5821425216 -->\n",
       "<g id=\"node53\" class=\"node\">\n",
       "<title>5821425216</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"692,-1413.5 580,-1413.5 580,-1394.25 692,-1394.25 692,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"636\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700864&#45;&gt;5821425216 -->\n",
       "<g id=\"edge56\" class=\"edge\">\n",
       "<title>5829700864&#45;&gt;5821425216</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M611.79,-1449.33C615.63,-1442.28 621.15,-1432.15 625.95,-1423.33\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"629.4,-1425.32 631.11,-1414.86 623.25,-1421.97 629.4,-1425.32\"/>\n",
       "</g>\n",
       "<!-- 5829699904 -->\n",
       "<g id=\"node70\" class=\"node\">\n",
       "<title>5829699904</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"798,-1413.5 710,-1413.5 710,-1394.25 798,-1394.25 798,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"754\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">CatBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700864&#45;&gt;5829699904 -->\n",
       "<g id=\"edge76\" class=\"edge\">\n",
       "<title>5829700864&#45;&gt;5829699904</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M631.94,-1449.09C655.8,-1440.45 692.03,-1427.32 718.82,-1417.62\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"719.73,-1420.65 727.94,-1413.95 717.35,-1414.07 719.73,-1420.65\"/>\n",
       "</g>\n",
       "<!-- 5774005888 -->\n",
       "<g id=\"node14\" class=\"node\">\n",
       "<title>5774005888</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"657,-1535.25 557,-1535.25 557,-1504.75 657,-1504.75 657,-1535.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"607\" y=\"-1521.75\" font-family=\"monospace\" font-size=\"10.00\">trend.trend_k0</text>\n",
       "<text text-anchor=\"middle\" x=\"607\" y=\"-1510.5\" font-family=\"monospace\" font-size=\"10.00\"> (1, 1, 1)</text>\n",
       "</g>\n",
       "<!-- 5774005888&#45;&gt;5829700864 -->\n",
       "<g id=\"edge12\" class=\"edge\">\n",
       "<title>5774005888&#45;&gt;5829700864</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M607,-1504.45C607,-1497.12 607,-1488.12 607,-1480.16\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"610.5,-1480.2 607,-1470.2 603.5,-1480.2 610.5,-1480.2\"/>\n",
       "</g>\n",
       "<!-- 5829700672 -->\n",
       "<g id=\"node15\" class=\"node\">\n",
       "<title>5829700672</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"394,-1413.5 306,-1413.5 306,-1394.25 394,-1394.25 394,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"350\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5829700672&#45;&gt;5829700624 -->\n",
       "<g id=\"edge13\" class=\"edge\">\n",
       "<title>5829700672&#45;&gt;5829700624</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M350,-1394.08C350,-1387.42 350,-1377.99 350,-1369.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"353.5,-1369.61 350,-1359.61 346.5,-1369.61 353.5,-1369.61\"/>\n",
       "</g>\n",
       "<!-- 5829700912 -->\n",
       "<g id=\"node16\" class=\"node\">\n",
       "<title>5829700912</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"396,-1468.75 308,-1468.75 308,-1449.5 396,-1449.5 396,-1468.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"352\" y=\"-1455.25\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700912&#45;&gt;5829700672 -->\n",
       "<g id=\"edge14\" class=\"edge\">\n",
       "<title>5829700912&#45;&gt;5829700672</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M351.67,-1449.33C351.42,-1442.67 351.07,-1433.24 350.75,-1424.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"354.21,-1424.72 350.34,-1414.86 347.22,-1424.98 354.21,-1424.72\"/>\n",
       "</g>\n",
       "<!-- 5829701008 -->\n",
       "<g id=\"node17\" class=\"node\">\n",
       "<title>5829701008</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"416,-1529.62 292,-1529.62 292,-1510.38 416,-1510.38 416,-1529.62\"/>\n",
       "<text text-anchor=\"middle\" x=\"354\" y=\"-1516.12\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701008&#45;&gt;5829700912 -->\n",
       "<g id=\"edge15\" class=\"edge\">\n",
       "<title>5829701008&#45;&gt;5829700912</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M353.7,-1510.06C353.43,-1502.1 353.02,-1490.19 352.67,-1479.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"356.14,-1480.03 352.31,-1470.15 349.15,-1480.26 356.14,-1480.03\"/>\n",
       "</g>\n",
       "<!-- 5829701104 -->\n",
       "<g id=\"node18\" class=\"node\">\n",
       "<title>5829701104</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"413,-1590.5 301,-1590.5 301,-1571.25 413,-1571.25 413,-1590.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"357\" y=\"-1577\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701104&#45;&gt;5829701008 -->\n",
       "<g id=\"edge16\" class=\"edge\">\n",
       "<title>5829701104&#45;&gt;5829701008</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M356.54,-1570.93C356.14,-1562.98 355.53,-1551.06 355.01,-1540.87\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"358.46,-1540.83 354.46,-1531.03 351.47,-1541.19 358.46,-1540.83\"/>\n",
       "</g>\n",
       "<!-- 5829701200 -->\n",
       "<g id=\"node19\" class=\"node\">\n",
       "<title>5829701200</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"469,-1645.75 369,-1645.75 369,-1626.5 469,-1626.5 469,-1645.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"419\" y=\"-1632.25\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5829701200&#45;&gt;5829701104 -->\n",
       "<g id=\"edge17\" class=\"edge\">\n",
       "<title>5829701200&#45;&gt;5829701104</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M408.48,-1626.09C399.52,-1618.4 386.43,-1607.15 375.69,-1597.93\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"378.23,-1594.64 368.36,-1590.77 373.67,-1599.95 378.23,-1594.64\"/>\n",
       "</g>\n",
       "<!-- 5821424064 -->\n",
       "<g id=\"node32\" class=\"node\">\n",
       "<title>5821424064</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"161,-1590.5 61,-1590.5 61,-1571.25 161,-1571.25 161,-1590.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"111\" y=\"-1577\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701200&#45;&gt;5821424064 -->\n",
       "<g id=\"edge31\" class=\"edge\">\n",
       "<title>5829701200&#45;&gt;5821424064</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M368.83,-1626.45C315.1,-1617.16 229.82,-1602.42 172.19,-1592.45\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"172.86,-1588.84 162.41,-1590.59 171.66,-1595.74 172.86,-1588.84\"/>\n",
       "</g>\n",
       "<!-- 5821424256 -->\n",
       "<g id=\"node36\" class=\"node\">\n",
       "<title>5821424256</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"282,-1590.5 182,-1590.5 182,-1571.25 282,-1571.25 282,-1590.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"232\" y=\"-1577\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701200&#45;&gt;5821424256 -->\n",
       "<g id=\"edge37\" class=\"edge\">\n",
       "<title>5829701200&#45;&gt;5821424256</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M387.28,-1626.09C356.11,-1617.22 308.38,-1603.62 274.06,-1593.85\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"275.45,-1590.33 264.88,-1590.95 273.54,-1597.06 275.45,-1590.33\"/>\n",
       "</g>\n",
       "<!-- 5821425552 -->\n",
       "<g id=\"node57\" class=\"node\">\n",
       "<title>5821425552</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"879,-1590.5 767,-1590.5 767,-1571.25 879,-1571.25 879,-1590.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"823\" y=\"-1577\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701200&#45;&gt;5821425552 -->\n",
       "<g id=\"edge61\" class=\"edge\">\n",
       "<title>5829701200&#45;&gt;5821425552</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M469.35,-1628.49C541.82,-1618.94 675.66,-1601.3 756.29,-1590.67\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"756.36,-1594.06 765.82,-1589.28 755.44,-1587.12 756.36,-1594.06\"/>\n",
       "</g>\n",
       "<!-- 5821425408 -->\n",
       "<g id=\"node69\" class=\"node\">\n",
       "<title>5821425408</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"532,-1590.5 432,-1590.5 432,-1571.25 532,-1571.25 532,-1590.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"482\" y=\"-1577\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701200&#45;&gt;5821425408 -->\n",
       "<g id=\"edge74\" class=\"edge\">\n",
       "<title>5829701200&#45;&gt;5821425408</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M429.69,-1626.09C438.88,-1618.32 452.36,-1606.92 463.34,-1597.65\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"465.09,-1599.9 470.47,-1590.77 460.57,-1594.56 465.09,-1599.9\"/>\n",
       "</g>\n",
       "<!-- 5821425648 -->\n",
       "<g id=\"node73\" class=\"node\">\n",
       "<title>5821425648</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"714,-1590.5 614,-1590.5 614,-1571.25 714,-1571.25 714,-1590.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"664\" y=\"-1577\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701200&#45;&gt;5821425648 -->\n",
       "<g id=\"edge80\" class=\"edge\">\n",
       "<title>5829701200&#45;&gt;5821425648</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M460.84,-1626.03C502.5,-1616.98 566.58,-1603.05 611.61,-1593.26\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"612.31,-1596.48 621.33,-1590.93 610.82,-1589.63 612.31,-1596.48\"/>\n",
       "</g>\n",
       "<!-- 5774006208 -->\n",
       "<g id=\"node20\" class=\"node\">\n",
       "<title>5774006208</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"481,-1712.25 357,-1712.25 357,-1681.75 481,-1681.75 481,-1712.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"419\" y=\"-1698.75\" font-family=\"monospace\" font-size=\"10.00\">trend.trend_deltas</text>\n",
       "<text text-anchor=\"middle\" x=\"419\" y=\"-1687.5\" font-family=\"monospace\" font-size=\"10.00\"> (1, 1, 11)</text>\n",
       "</g>\n",
       "<!-- 5774006208&#45;&gt;5829701200 -->\n",
       "<g id=\"edge18\" class=\"edge\">\n",
       "<title>5774006208&#45;&gt;5829701200</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M419,-1681.45C419,-1674.12 419,-1665.12 419,-1657.16\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"422.5,-1657.2 419,-1647.2 415.5,-1657.2 422.5,-1657.2\"/>\n",
       "</g>\n",
       "<!-- 5829699712 -->\n",
       "<g id=\"node21\" class=\"node\">\n",
       "<title>5829699712</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"120,-871.25 32,-871.25 32,-852 120,-852 120,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"76\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5829699712&#45;&gt;5829700144 -->\n",
       "<g id=\"edge19\" class=\"edge\">\n",
       "<title>5829699712&#45;&gt;5829700144</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M88.89,-851.59C100.25,-843.64 117.02,-831.89 130.41,-822.5\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"131.86,-825.06 138.04,-816.45 127.85,-819.32 131.86,-825.06\"/>\n",
       "</g>\n",
       "<!-- 5829700960 -->\n",
       "<g id=\"node22\" class=\"node\">\n",
       "<title>5829700960</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"115,-926.5 27,-926.5 27,-907.25 115,-907.25 115,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"71\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700960&#45;&gt;5829699712 -->\n",
       "<g id=\"edge20\" class=\"edge\">\n",
       "<title>5829700960&#45;&gt;5829699712</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M71.83,-907.08C72.45,-900.42 73.34,-890.99 74.13,-882.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"77.71,-882.89 75.16,-872.61 70.74,-882.24 77.71,-882.89\"/>\n",
       "</g>\n",
       "<!-- 5829701056 -->\n",
       "<g id=\"node23\" class=\"node\">\n",
       "<title>5829701056</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"124,-987.38 0,-987.38 0,-968.12 124,-968.12 124,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"62\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701056&#45;&gt;5829700960 -->\n",
       "<g id=\"edge21\" class=\"edge\">\n",
       "<title>5829701056&#45;&gt;5829700960</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M63.37,-967.81C64.58,-959.85 66.4,-947.94 67.96,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"71.57,-938.32 69.62,-927.9 64.65,-937.26 71.57,-938.32\"/>\n",
       "</g>\n",
       "<!-- 5829701296 -->\n",
       "<g id=\"node24\" class=\"node\">\n",
       "<title>5829701296</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"121,-1048.25 9,-1048.25 9,-1029 121,-1029 121,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"65\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701296&#45;&gt;5829701056 -->\n",
       "<g id=\"edge22\" class=\"edge\">\n",
       "<title>5829701296&#45;&gt;5829701056</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M64.54,-1028.68C64.14,-1020.73 63.53,-1008.81 63.01,-998.62\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"66.46,-998.58 62.46,-988.78 59.47,-998.94 66.46,-998.58\"/>\n",
       "</g>\n",
       "<!-- 5829700816 -->\n",
       "<g id=\"node25\" class=\"node\">\n",
       "<title>5829700816</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"113,-1103.5 25,-1103.5 25,-1084.25 113,-1084.25 113,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"69\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700816&#45;&gt;5829701296 -->\n",
       "<g id=\"edge23\" class=\"edge\">\n",
       "<title>5829700816&#45;&gt;5829701296</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M68.34,-1084.08C67.84,-1077.42 67.13,-1067.99 66.5,-1059.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"69.91,-1059.32 65.67,-1049.61 62.93,-1059.84 69.91,-1059.32\"/>\n",
       "</g>\n",
       "<!-- 5829701392 -->\n",
       "<g id=\"node26\" class=\"node\">\n",
       "<title>5829701392</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"122,-1164.38 22,-1164.38 22,-1145.12 122,-1145.12 122,-1164.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"72\" y=\"-1150.88\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701392&#45;&gt;5829700816 -->\n",
       "<g id=\"edge24\" class=\"edge\">\n",
       "<title>5829701392&#45;&gt;5829700816</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M71.54,-1144.81C71.14,-1136.85 70.53,-1124.94 70.01,-1114.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"73.46,-1114.71 69.46,-1104.9 66.47,-1115.07 73.46,-1114.71\"/>\n",
       "</g>\n",
       "<!-- 5829701488 -->\n",
       "<g id=\"node27\" class=\"node\">\n",
       "<title>5829701488</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"123,-1230.88 23,-1230.88 23,-1211.62 123,-1211.62 123,-1230.88\"/>\n",
       "<text text-anchor=\"middle\" x=\"73\" y=\"-1217.38\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701488&#45;&gt;5829701392 -->\n",
       "<g id=\"edge25\" class=\"edge\">\n",
       "<title>5829701488&#45;&gt;5829701392</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M72.86,-1211.28C72.72,-1202.04 72.49,-1187.33 72.3,-1175.38\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"75.79,-1175.59 72.14,-1165.64 68.79,-1175.7 75.79,-1175.59\"/>\n",
       "</g>\n",
       "<!-- 5829701584 -->\n",
       "<g id=\"node28\" class=\"node\">\n",
       "<title>5829701584</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"145,-1297.38 45,-1297.38 45,-1278.12 145,-1278.12 145,-1297.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"95\" y=\"-1283.88\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701584&#45;&gt;5829701488 -->\n",
       "<g id=\"edge26\" class=\"edge\">\n",
       "<title>5829701584&#45;&gt;5829701488</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M91.94,-1277.78C88.76,-1268.44 83.67,-1253.53 79.57,-1241.51\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"82.57,-1240.48 76.03,-1232.14 75.95,-1242.74 82.57,-1240.48\"/>\n",
       "</g>\n",
       "<!-- 5829700384 -->\n",
       "<g id=\"node29\" class=\"node\">\n",
       "<title>5829700384</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"150,-1358.25 62,-1358.25 62,-1339 150,-1339 150,-1358.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"106\" y=\"-1344.75\" font-family=\"monospace\" font-size=\"10.00\">SubBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700384&#45;&gt;5829701584 -->\n",
       "<g id=\"edge27\" class=\"edge\">\n",
       "<title>5829700384&#45;&gt;5829701584</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M104.33,-1338.68C102.83,-1330.64 100.57,-1318.55 98.65,-1308.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"101.96,-1307.96 96.69,-1298.78 95.08,-1309.25 101.96,-1307.96\"/>\n",
       "</g>\n",
       "<!-- 5821423824 -->\n",
       "<g id=\"node30\" class=\"node\">\n",
       "<title>5821423824</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"156,-1413.5 56,-1413.5 56,-1394.25 156,-1394.25 156,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"106\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821423824&#45;&gt;5829700384 -->\n",
       "<g id=\"edge28\" class=\"edge\">\n",
       "<title>5821423824&#45;&gt;5829700384</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M106,-1394.08C106,-1387.42 106,-1377.99 106,-1369.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"109.5,-1369.61 106,-1359.61 102.5,-1369.61 109.5,-1369.61\"/>\n",
       "</g>\n",
       "<!-- 5821423968 -->\n",
       "<g id=\"node31\" class=\"node\">\n",
       "<title>5821423968</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"156,-1529.62 56,-1529.62 56,-1510.38 156,-1510.38 156,-1529.62\"/>\n",
       "<text text-anchor=\"middle\" x=\"106\" y=\"-1516.12\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821423968&#45;&gt;5821423824 -->\n",
       "<g id=\"edge29\" class=\"edge\">\n",
       "<title>5821423968&#45;&gt;5821423824</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M106,-1510.04C106,-1491.71 106,-1449.53 106,-1424.51\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"109.5,-1424.79 106,-1414.79 102.5,-1424.79 109.5,-1424.79\"/>\n",
       "</g>\n",
       "<!-- 5821424064&#45;&gt;5821423968 -->\n",
       "<g id=\"edge30\" class=\"edge\">\n",
       "<title>5821424064&#45;&gt;5821423968</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M110.24,-1570.93C109.57,-1562.98 108.55,-1551.06 107.69,-1540.87\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"111.1,-1540.69 106.77,-1531.03 104.13,-1541.29 111.1,-1540.69\"/>\n",
       "</g>\n",
       "<!-- 5821423776&#45;&gt;5829700384 -->\n",
       "<g id=\"edge32\" class=\"edge\">\n",
       "<title>5821423776&#45;&gt;5829700384</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M203.98,-1393.84C185.34,-1385.43 157.28,-1372.77 135.97,-1363.15\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"137.67,-1359.63 127.12,-1358.7 134.79,-1366.01 137.67,-1359.63\"/>\n",
       "</g>\n",
       "<!-- 5821424160 -->\n",
       "<g id=\"node34\" class=\"node\">\n",
       "<title>5821424160</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"274,-1468.75 174,-1468.75 174,-1449.5 274,-1449.5 274,-1468.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"224\" y=\"-1455.25\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424160&#45;&gt;5821423776 -->\n",
       "<g id=\"edge34\" class=\"edge\">\n",
       "<title>5821424160&#45;&gt;5821423776</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M224,-1449.33C224,-1442.67 224,-1433.24 224,-1424.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"227.5,-1424.86 224,-1414.86 220.5,-1424.86 227.5,-1424.86\"/>\n",
       "</g>\n",
       "<!-- 5821423872 -->\n",
       "<g id=\"node35\" class=\"node\">\n",
       "<title>5821423872</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"274,-1529.62 174,-1529.62 174,-1510.38 274,-1510.38 274,-1529.62\"/>\n",
       "<text text-anchor=\"middle\" x=\"224\" y=\"-1516.12\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821423872&#45;&gt;5821424160 -->\n",
       "<g id=\"edge35\" class=\"edge\">\n",
       "<title>5821423872&#45;&gt;5821424160</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M224,-1510.06C224,-1502.1 224,-1490.19 224,-1479.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"227.5,-1480.15 224,-1470.15 220.5,-1480.15 227.5,-1480.15\"/>\n",
       "</g>\n",
       "<!-- 5821424256&#45;&gt;5821423872 -->\n",
       "<g id=\"edge36\" class=\"edge\">\n",
       "<title>5821424256&#45;&gt;5821423872</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M230.78,-1570.93C229.7,-1562.98 228.09,-1551.06 226.7,-1540.87\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"230.04,-1540.46 225.23,-1531.03 223.1,-1541.41 230.04,-1540.46\"/>\n",
       "</g>\n",
       "<!-- 5829700480 -->\n",
       "<g id=\"node37\" class=\"node\">\n",
       "<title>5829700480</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"422,-197 334,-197 334,-177.75 422,-177.75 422,-197\"/>\n",
       "<text text-anchor=\"middle\" x=\"378\" y=\"-183.5\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700480&#45;&gt;5820897552 -->\n",
       "<g id=\"edge38\" class=\"edge\">\n",
       "<title>5829700480&#45;&gt;5820897552</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M372.06,-177.58C367.19,-170.38 360.14,-159.96 354.09,-151.01\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"356.57,-149.43 348.07,-143.11 350.78,-153.35 356.57,-149.43\"/>\n",
       "</g>\n",
       "<!-- 5829700240 -->\n",
       "<g id=\"node38\" class=\"node\">\n",
       "<title>5829700240</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"508,-252.25 420,-252.25 420,-233 508,-233 508,-252.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"464\" y=\"-238.75\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700240&#45;&gt;5829700480 -->\n",
       "<g id=\"edge39\" class=\"edge\">\n",
       "<title>5829700240&#45;&gt;5829700480</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M449.41,-232.59C436.44,-224.56 417.22,-212.66 401.99,-203.23\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"404,-199.74 393.66,-197.45 400.32,-205.69 404,-199.74\"/>\n",
       "</g>\n",
       "<!-- 5829701248 -->\n",
       "<g id=\"node39\" class=\"node\">\n",
       "<title>5829701248</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"549,-307.5 407,-307.5 407,-288.25 549,-288.25 549,-307.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"478\" y=\"-294\" font-family=\"monospace\" font-size=\"10.00\">ReshapeAliasBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701248&#45;&gt;5829700240 -->\n",
       "<g id=\"edge40\" class=\"edge\">\n",
       "<title>5829701248&#45;&gt;5829700240</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M475.69,-288.08C473.92,-281.34 471.4,-271.77 469.16,-263.24\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"472.29,-262.39 466.36,-253.61 465.52,-264.17 472.29,-262.39\"/>\n",
       "</g>\n",
       "<!-- 5829701440 -->\n",
       "<g id=\"node40\" class=\"node\">\n",
       "<title>5829701440</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"522,-362.75 440,-362.75 440,-343.5 522,-343.5 522,-362.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"481\" y=\"-349.25\" font-family=\"monospace\" font-size=\"10.00\">MmBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701440&#45;&gt;5829701248 -->\n",
       "<g id=\"edge41\" class=\"edge\">\n",
       "<title>5829701440&#45;&gt;5829701248</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M480.5,-343.33C480.13,-336.67 479.6,-327.24 479.12,-318.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"482.56,-318.65 478.51,-308.86 475.57,-319.04 482.56,-318.65\"/>\n",
       "</g>\n",
       "<!-- 5829701536 -->\n",
       "<g id=\"node41\" class=\"node\">\n",
       "<title>5829701536</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"638,-418 550,-418 550,-398.75 638,-398.75 638,-418\"/>\n",
       "<text text-anchor=\"middle\" x=\"594\" y=\"-404.5\" font-family=\"monospace\" font-size=\"10.00\">SubBackward0</text>\n",
       "</g>\n",
       "<!-- 5829701536&#45;&gt;5829701440 -->\n",
       "<g id=\"edge42\" class=\"edge\">\n",
       "<title>5829701536&#45;&gt;5829701440</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M574.83,-398.34C557.06,-389.97 530.36,-377.38 509.98,-367.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"511.8,-364.3 501.26,-363.2 508.82,-370.63 511.8,-364.3\"/>\n",
       "</g>\n",
       "<!-- 5821424112 -->\n",
       "<g id=\"node42\" class=\"node\">\n",
       "<title>5821424112</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"660,-473.25 554,-473.25 554,-454 660,-454 660,-473.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"607\" y=\"-459.75\" font-family=\"monospace\" font-size=\"10.00\">SelectBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424112&#45;&gt;5829701536 -->\n",
       "<g id=\"edge43\" class=\"edge\">\n",
       "<title>5821424112&#45;&gt;5829701536</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M604.85,-453.83C603.21,-447.09 600.87,-437.52 598.79,-428.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"601.97,-428.24 596.19,-419.36 595.16,-429.9 601.97,-428.24\"/>\n",
       "</g>\n",
       "<!-- 5821424352 -->\n",
       "<g id=\"node43\" class=\"node\">\n",
       "<title>5821424352</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"668,-534.12 568,-534.12 568,-514.88 668,-514.88 668,-534.12\"/>\n",
       "<text text-anchor=\"middle\" x=\"618\" y=\"-520.62\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424352&#45;&gt;5821424112 -->\n",
       "<g id=\"edge44\" class=\"edge\">\n",
       "<title>5821424352&#45;&gt;5821424112</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M616.33,-514.56C614.83,-506.52 612.57,-494.43 610.65,-484.16\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"613.96,-483.84 608.69,-474.65 607.08,-485.12 613.96,-483.84\"/>\n",
       "</g>\n",
       "<!-- 5821423920 -->\n",
       "<g id=\"node44\" class=\"node\">\n",
       "<title>5821423920</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"689,-595 589,-595 589,-575.75 689,-575.75 689,-595\"/>\n",
       "<text text-anchor=\"middle\" x=\"639\" y=\"-581.5\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821423920&#45;&gt;5821424352 -->\n",
       "<g id=\"edge45\" class=\"edge\">\n",
       "<title>5821423920&#45;&gt;5821424352</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M635.81,-575.43C632.91,-567.31 628.54,-555.04 624.85,-544.7\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"627.88,-543.77 621.22,-535.53 621.28,-546.12 627.88,-543.77\"/>\n",
       "</g>\n",
       "<!-- 5821424448 -->\n",
       "<g id=\"node45\" class=\"node\">\n",
       "<title>5821424448</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"725,-650.25 637,-650.25 637,-631 725,-631 725,-650.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"681\" y=\"-636.75\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424448&#45;&gt;5821423920 -->\n",
       "<g id=\"edge46\" class=\"edge\">\n",
       "<title>5821424448&#45;&gt;5821423920</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M674.06,-630.83C668.32,-623.55 659.99,-612.98 652.88,-603.98\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"655.03,-602.04 646.09,-596.36 649.53,-606.38 655.03,-602.04\"/>\n",
       "</g>\n",
       "<!-- 5821424544 -->\n",
       "<g id=\"node46\" class=\"node\">\n",
       "<title>5821424544</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"810,-705.5 722,-705.5 722,-686.25 810,-686.25 810,-705.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"766\" y=\"-692\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424544&#45;&gt;5821424448 -->\n",
       "<g id=\"edge47\" class=\"edge\">\n",
       "<title>5821424544&#45;&gt;5821424448</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M751.58,-685.84C738.76,-677.81 719.77,-665.91 704.71,-656.48\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"706.82,-653.05 696.49,-650.7 703.11,-658.98 706.82,-653.05\"/>\n",
       "</g>\n",
       "<!-- 5821424640 -->\n",
       "<g id=\"node47\" class=\"node\">\n",
       "<title>5821424640</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"916,-760.75 828,-760.75 828,-741.5 916,-741.5 916,-760.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"872\" y=\"-747.25\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424640&#45;&gt;5821424544 -->\n",
       "<g id=\"edge48\" class=\"edge\">\n",
       "<title>5821424640&#45;&gt;5821424544</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M854.02,-741.09C837.5,-732.79 812.75,-720.36 793.71,-710.79\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"795.58,-707.31 785.07,-705.95 792.43,-713.57 795.58,-707.31\"/>\n",
       "</g>\n",
       "<!-- 5821424784 -->\n",
       "<g id=\"node48\" class=\"node\">\n",
       "<title>5821424784</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"705,-816 581,-816 581,-796.75 705,-796.75 705,-816\"/>\n",
       "<text text-anchor=\"middle\" x=\"643\" y=\"-802.5\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424784&#45;&gt;5821424640 -->\n",
       "<g id=\"edge49\" class=\"edge\">\n",
       "<title>5821424784&#45;&gt;5821424640</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M682.11,-796.28C720.89,-787.26 780.44,-773.42 822.49,-763.64\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"823.11,-766.86 832.05,-761.18 821.52,-760.04 823.11,-766.86\"/>\n",
       "</g>\n",
       "<!-- 5821424928&#45;&gt;5821424784 -->\n",
       "<g id=\"edge50\" class=\"edge\">\n",
       "<title>5821424928&#45;&gt;5821424784</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M643,-851.83C643,-845.17 643,-835.74 643,-827.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"646.5,-827.36 643,-817.36 639.5,-827.36 646.5,-827.36\"/>\n",
       "</g>\n",
       "<!-- 5821424736 -->\n",
       "<g id=\"node50\" class=\"node\">\n",
       "<title>5821424736</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1088,-816 1000,-816 1000,-796.75 1088,-796.75 1088,-816\"/>\n",
       "<text text-anchor=\"middle\" x=\"1044\" y=\"-802.5\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424736&#45;&gt;5821424640 -->\n",
       "<g id=\"edge52\" class=\"edge\">\n",
       "<title>5821424736&#45;&gt;5821424640</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1014.82,-796.34C986.41,-787.54 943.01,-774.11 911.51,-764.36\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"912.91,-760.82 902.32,-761.2 910.84,-767.5 912.91,-760.82\"/>\n",
       "</g>\n",
       "<!-- 5821424976 -->\n",
       "<g id=\"node51\" class=\"node\">\n",
       "<title>5821424976</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1146,-1230.88 1058,-1230.88 1058,-1211.62 1146,-1211.62 1146,-1230.88\"/>\n",
       "<text text-anchor=\"middle\" x=\"1102\" y=\"-1217.38\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424976&#45;&gt;5821424736 -->\n",
       "<g id=\"edge53\" class=\"edge\">\n",
       "<title>5821424976&#45;&gt;5821424736</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1105.92,-1211.33C1114.47,-1191.05 1134,-1139.8 1134,-1094.88 1134,-1094.88 1134,-1094.88 1134,-915.88 1134,-874.68 1095.09,-840.75 1068.44,-822.34\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1070.54,-818.87 1060.27,-816.28 1066.68,-824.71 1070.54,-818.87\"/>\n",
       "</g>\n",
       "<!-- 5821425120 -->\n",
       "<g id=\"node52\" class=\"node\">\n",
       "<title>5821425120</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"904,-1358.25 816,-1358.25 816,-1339 904,-1339 904,-1358.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"860\" y=\"-1344.75\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425120&#45;&gt;5821424976 -->\n",
       "<g id=\"edge54\" class=\"edge\">\n",
       "<title>5821425120&#45;&gt;5821424976</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M877.4,-1338.61C919.08,-1317.02 1024.83,-1262.23 1074.91,-1236.29\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1076.16,-1239.06 1083.43,-1231.35 1072.94,-1232.85 1076.16,-1239.06\"/>\n",
       "</g>\n",
       "<!-- 5821425216&#45;&gt;5821425120 -->\n",
       "<g id=\"edge55\" class=\"edge\">\n",
       "<title>5821425216&#45;&gt;5821425120</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M674.25,-1393.78C712.11,-1384.78 770.19,-1370.98 811.31,-1361.2\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"811.99,-1364.4 820.91,-1358.68 810.37,-1357.59 811.99,-1364.4\"/>\n",
       "</g>\n",
       "<!-- 5821425168 -->\n",
       "<g id=\"node54\" class=\"node\">\n",
       "<title>5821425168</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"904,-1413.5 816,-1413.5 816,-1394.25 904,-1394.25 904,-1413.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"860\" y=\"-1400\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5821425168&#45;&gt;5821425120 -->\n",
       "<g id=\"edge57\" class=\"edge\">\n",
       "<title>5821425168&#45;&gt;5821425120</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M860,-1394.08C860,-1387.42 860,-1377.99 860,-1369.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"863.5,-1369.61 860,-1359.61 856.5,-1369.61 863.5,-1369.61\"/>\n",
       "</g>\n",
       "<!-- 5821425264 -->\n",
       "<g id=\"node55\" class=\"node\">\n",
       "<title>5821425264</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"903,-1468.75 815,-1468.75 815,-1449.5 903,-1449.5 903,-1468.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"859\" y=\"-1455.25\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425264&#45;&gt;5821425168 -->\n",
       "<g id=\"edge58\" class=\"edge\">\n",
       "<title>5821425264&#45;&gt;5821425168</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M859.17,-1449.33C859.29,-1442.67 859.47,-1433.24 859.63,-1424.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"863.14,-1424.92 859.83,-1414.86 856.14,-1424.79 863.14,-1424.92\"/>\n",
       "</g>\n",
       "<!-- 5821425456 -->\n",
       "<g id=\"node56\" class=\"node\">\n",
       "<title>5821425456</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"921,-1529.62 797,-1529.62 797,-1510.38 921,-1510.38 921,-1529.62\"/>\n",
       "<text text-anchor=\"middle\" x=\"859\" y=\"-1516.12\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425456&#45;&gt;5821425264 -->\n",
       "<g id=\"edge59\" class=\"edge\">\n",
       "<title>5821425456&#45;&gt;5821425264</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M859,-1510.06C859,-1502.1 859,-1490.19 859,-1479.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"862.5,-1480.15 859,-1470.15 855.5,-1480.15 862.5,-1480.15\"/>\n",
       "</g>\n",
       "<!-- 5821425552&#45;&gt;5821425456 -->\n",
       "<g id=\"edge60\" class=\"edge\">\n",
       "<title>5821425552&#45;&gt;5821425456</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M828.47,-1570.93C833.6,-1562.55 841.42,-1549.76 847.86,-1539.22\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"851.25,-1541.38 853.48,-1531.03 845.28,-1537.73 851.25,-1541.38\"/>\n",
       "</g>\n",
       "<!-- 5821425024 -->\n",
       "<g id=\"node58\" class=\"node\">\n",
       "<title>5821425024</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1088,-871.25 1000,-871.25 1000,-852 1088,-852 1088,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"1044\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5821425024&#45;&gt;5821424736 -->\n",
       "<g id=\"edge62\" class=\"edge\">\n",
       "<title>5821425024&#45;&gt;5821424736</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1044,-851.83C1044,-845.17 1044,-835.74 1044,-827.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1047.5,-827.36 1044,-817.36 1040.5,-827.36 1047.5,-827.36\"/>\n",
       "</g>\n",
       "<!-- 5821362912 -->\n",
       "<g id=\"node59\" class=\"node\">\n",
       "<title>5821362912</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1088,-926.5 1000,-926.5 1000,-907.25 1088,-907.25 1088,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1044\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821362912&#45;&gt;5821425024 -->\n",
       "<g id=\"edge63\" class=\"edge\">\n",
       "<title>5821362912&#45;&gt;5821425024</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1044,-907.08C1044,-900.42 1044,-890.99 1044,-882.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1047.5,-882.61 1044,-872.61 1040.5,-882.61 1047.5,-882.61\"/>\n",
       "</g>\n",
       "<!-- 5821362288 -->\n",
       "<g id=\"node60\" class=\"node\">\n",
       "<title>5821362288</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1106,-987.38 982,-987.38 982,-968.12 1106,-968.12 1106,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"1044\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821362288&#45;&gt;5821362912 -->\n",
       "<g id=\"edge64\" class=\"edge\">\n",
       "<title>5821362288&#45;&gt;5821362912</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1044,-967.81C1044,-959.85 1044,-947.94 1044,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1047.5,-937.9 1044,-927.9 1040.5,-937.9 1047.5,-937.9\"/>\n",
       "</g>\n",
       "<!-- 5829699376 -->\n",
       "<g id=\"node61\" class=\"node\">\n",
       "<title>5829699376</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1098,-1048.25 986,-1048.25 986,-1029 1098,-1029 1098,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"1042\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699376&#45;&gt;5821362288 -->\n",
       "<g id=\"edge65\" class=\"edge\">\n",
       "<title>5829699376&#45;&gt;5821362288</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1042.3,-1028.68C1042.57,-1020.73 1042.98,-1008.81 1043.33,-998.62\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1046.85,-998.89 1043.69,-988.78 1039.86,-998.65 1046.85,-998.89\"/>\n",
       "</g>\n",
       "<!-- 5829699760 -->\n",
       "<g id=\"node62\" class=\"node\">\n",
       "<title>5829699760</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1072,-1103.5 984,-1103.5 984,-1084.25 1072,-1084.25 1072,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"1028\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699760&#45;&gt;5829699376 -->\n",
       "<g id=\"edge66\" class=\"edge\">\n",
       "<title>5829699760&#45;&gt;5829699376</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1030.31,-1084.08C1032.08,-1077.34 1034.6,-1067.77 1036.84,-1059.24\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1040.48,-1060.17 1039.64,-1049.61 1033.71,-1058.39 1040.48,-1060.17\"/>\n",
       "</g>\n",
       "<!-- 5829699568 -->\n",
       "<g id=\"node63\" class=\"node\">\n",
       "<title>5829699568</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1062,-1164.38 962,-1164.38 962,-1145.12 1062,-1145.12 1062,-1164.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"1012\" y=\"-1150.88\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699568&#45;&gt;5829699760 -->\n",
       "<g id=\"edge67\" class=\"edge\">\n",
       "<title>5829699568&#45;&gt;5829699760</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1014.43,-1144.81C1016.62,-1136.77 1019.9,-1124.68 1022.69,-1114.41\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1026.3,-1115.47 1025.55,-1104.9 1019.55,-1113.63 1026.3,-1115.47\"/>\n",
       "</g>\n",
       "<!-- 5829699520 -->\n",
       "<g id=\"node64\" class=\"node\">\n",
       "<title>5829699520</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"1008,-1230.88 908,-1230.88 908,-1211.62 1008,-1211.62 1008,-1230.88\"/>\n",
       "<text text-anchor=\"middle\" x=\"958\" y=\"-1217.38\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699520&#45;&gt;5829699568 -->\n",
       "<g id=\"edge68\" class=\"edge\">\n",
       "<title>5829699520&#45;&gt;5829699568</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M965.51,-1211.28C973.81,-1201.37 987.38,-1185.16 997.72,-1172.81\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1000.82,-1175.56 1004.56,-1165.64 995.45,-1171.06 1000.82,-1175.56\"/>\n",
       "</g>\n",
       "<!-- 5829699952 -->\n",
       "<g id=\"node65\" class=\"node\">\n",
       "<title>5829699952</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"818,-1297.38 718,-1297.38 718,-1278.12 818,-1278.12 818,-1297.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"768\" y=\"-1283.88\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699952&#45;&gt;5829699520 -->\n",
       "<g id=\"edge69\" class=\"edge\">\n",
       "<title>5829699952&#45;&gt;5829699520</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M794.82,-1277.65C827.78,-1266.46 883.88,-1247.41 920.94,-1234.83\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"921.97,-1237.84 930.32,-1231.31 919.72,-1231.21 921.97,-1237.84\"/>\n",
       "</g>\n",
       "<!-- 5829700048 -->\n",
       "<g id=\"node66\" class=\"node\">\n",
       "<title>5829700048</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"798,-1358.25 710,-1358.25 710,-1339 798,-1339 798,-1358.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"754\" y=\"-1344.75\" font-family=\"monospace\" font-size=\"10.00\">SubBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700048&#45;&gt;5829699952 -->\n",
       "<g id=\"edge70\" class=\"edge\">\n",
       "<title>5829700048&#45;&gt;5829699952</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M756.13,-1338.68C758.04,-1330.64 760.91,-1318.55 763.35,-1308.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"766.95,-1309.31 765.85,-1298.78 760.14,-1307.7 766.95,-1309.31\"/>\n",
       "</g>\n",
       "<!-- 5829699424 -->\n",
       "<g id=\"node67\" class=\"node\">\n",
       "<title>5829699424</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"524,-1468.75 424,-1468.75 424,-1449.5 524,-1449.5 524,-1468.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"474\" y=\"-1455.25\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699424&#45;&gt;5829700048 -->\n",
       "<g id=\"edge71\" class=\"edge\">\n",
       "<title>5829699424&#45;&gt;5829700048</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M463.11,-1449.07C448.57,-1435.91 426.28,-1411.22 441,-1394.25 473.72,-1356.53 618.03,-1349.89 698.79,-1349.2\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"698.76,-1352.69 708.74,-1349.14 698.72,-1345.69 698.76,-1352.69\"/>\n",
       "</g>\n",
       "<!-- 5829699328 -->\n",
       "<g id=\"node68\" class=\"node\">\n",
       "<title>5829699328</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"534,-1529.62 434,-1529.62 434,-1510.38 534,-1510.38 534,-1529.62\"/>\n",
       "<text text-anchor=\"middle\" x=\"484\" y=\"-1516.12\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699328&#45;&gt;5829699424 -->\n",
       "<g id=\"edge72\" class=\"edge\">\n",
       "<title>5829699328&#45;&gt;5829699424</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M482.48,-1510.06C481.13,-1502.1 479.11,-1490.19 477.37,-1479.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"480.66,-1479.42 475.53,-1470.15 473.76,-1480.6 480.66,-1479.42\"/>\n",
       "</g>\n",
       "<!-- 5821425408&#45;&gt;5829699328 -->\n",
       "<g id=\"edge73\" class=\"edge\">\n",
       "<title>5821425408&#45;&gt;5829699328</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M482.3,-1570.93C482.57,-1562.98 482.98,-1551.06 483.33,-1540.87\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"486.85,-1541.14 483.69,-1531.03 479.86,-1540.9 486.85,-1541.14\"/>\n",
       "</g>\n",
       "<!-- 5829699904&#45;&gt;5829700048 -->\n",
       "<g id=\"edge75\" class=\"edge\">\n",
       "<title>5829699904&#45;&gt;5829700048</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M754,-1394.08C754,-1387.42 754,-1377.99 754,-1369.53\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"757.5,-1369.61 754,-1359.61 750.5,-1369.61 757.5,-1369.61\"/>\n",
       "</g>\n",
       "<!-- 5821425360 -->\n",
       "<g id=\"node71\" class=\"node\">\n",
       "<title>5821425360</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"788,-1468.75 688,-1468.75 688,-1449.5 788,-1449.5 788,-1468.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"738\" y=\"-1455.25\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425360&#45;&gt;5829699904 -->\n",
       "<g id=\"edge77\" class=\"edge\">\n",
       "<title>5821425360&#45;&gt;5829699904</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M740.64,-1449.33C742.69,-1442.51 745.61,-1432.81 748.19,-1424.2\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"751.77,-1425.44 751.3,-1414.86 745.07,-1423.43 751.77,-1425.44\"/>\n",
       "</g>\n",
       "<!-- 5821425072 -->\n",
       "<g id=\"node72\" class=\"node\">\n",
       "<title>5821425072</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"778,-1529.62 678,-1529.62 678,-1510.38 778,-1510.38 778,-1529.62\"/>\n",
       "<text text-anchor=\"middle\" x=\"728\" y=\"-1516.12\" font-family=\"monospace\" font-size=\"10.00\">SliceBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425072&#45;&gt;5821425360 -->\n",
       "<g id=\"edge78\" class=\"edge\">\n",
       "<title>5821425072&#45;&gt;5821425360</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M729.52,-1510.06C730.87,-1502.1 732.89,-1490.19 734.63,-1479.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"738.24,-1480.6 736.47,-1470.15 731.34,-1479.42 738.24,-1480.6\"/>\n",
       "</g>\n",
       "<!-- 5821425648&#45;&gt;5821425072 -->\n",
       "<g id=\"edge79\" class=\"edge\">\n",
       "<title>5821425648&#45;&gt;5821425072</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M673.72,-1570.93C683.4,-1562.03 698.48,-1548.16 710.29,-1537.29\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"712.2,-1540.37 717.19,-1531.03 707.46,-1535.22 712.2,-1540.37\"/>\n",
       "</g>\n",
       "<!-- 5821424592 -->\n",
       "<g id=\"node74\" class=\"node\">\n",
       "<title>5821424592</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"810,-760.75 722,-760.75 722,-741.5 810,-741.5 810,-760.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"766\" y=\"-747.25\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424592&#45;&gt;5821424544 -->\n",
       "<g id=\"edge81\" class=\"edge\">\n",
       "<title>5821424592&#45;&gt;5821424544</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M766,-741.33C766,-734.67 766,-725.24 766,-716.78\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"769.5,-716.86 766,-706.86 762.5,-716.86 769.5,-716.86\"/>\n",
       "</g>\n",
       "<!-- 5821362528 -->\n",
       "<g id=\"node75\" class=\"node\">\n",
       "<title>5821362528</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"811,-816 723,-816 723,-796.75 811,-796.75 811,-816\"/>\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-802.5\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821362528&#45;&gt;5821424592 -->\n",
       "<g id=\"edge82\" class=\"edge\">\n",
       "<title>5821362528&#45;&gt;5821424592</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M766.83,-796.58C766.71,-789.92 766.53,-780.49 766.37,-772.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"769.86,-772.04 766.17,-762.11 762.86,-772.17 769.86,-772.04\"/>\n",
       "</g>\n",
       "<!-- 5829699472 -->\n",
       "<g id=\"node76\" class=\"node\">\n",
       "<title>5829699472</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"917,-871.25 829,-871.25 829,-852 917,-852 917,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"873\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699472&#45;&gt;5821362528 -->\n",
       "<g id=\"edge83\" class=\"edge\">\n",
       "<title>5829699472&#45;&gt;5821362528</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M855.02,-851.59C838.5,-843.29 813.75,-830.86 794.71,-821.29\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"796.58,-817.81 786.07,-816.45 793.43,-824.07 796.58,-817.81\"/>\n",
       "</g>\n",
       "<!-- 5829699664 -->\n",
       "<g id=\"node77\" class=\"node\">\n",
       "<title>5829699664</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"964,-926.5 876,-926.5 876,-907.25 964,-907.25 964,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"920\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699664&#45;&gt;5829699472 -->\n",
       "<g id=\"edge84\" class=\"edge\">\n",
       "<title>5829699664&#45;&gt;5829699472</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M912.24,-907.08C905.68,-899.65 896.09,-888.79 888.04,-879.66\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"891.17,-877.79 881.93,-872.61 885.92,-882.42 891.17,-877.79\"/>\n",
       "</g>\n",
       "<!-- 5829699088 -->\n",
       "<g id=\"node78\" class=\"node\">\n",
       "<title>5829699088</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"964,-987.38 876,-987.38 876,-968.12 964,-968.12 964,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"920\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5829699088&#45;&gt;5829699664 -->\n",
       "<g id=\"edge85\" class=\"edge\">\n",
       "<title>5829699088&#45;&gt;5829699664</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M920,-967.81C920,-959.85 920,-947.94 920,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"923.5,-937.9 920,-927.9 916.5,-937.9 923.5,-937.9\"/>\n",
       "</g>\n",
       "<!-- 5821425504 -->\n",
       "<g id=\"node79\" class=\"node\">\n",
       "<title>5821425504</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"964,-1048.25 876,-1048.25 876,-1029 964,-1029 964,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"920\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425504&#45;&gt;5829699088 -->\n",
       "<g id=\"edge86\" class=\"edge\">\n",
       "<title>5821425504&#45;&gt;5829699088</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M920,-1028.68C920,-1020.73 920,-1008.81 920,-998.62\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"923.5,-998.78 920,-988.78 916.5,-998.78 923.5,-998.78\"/>\n",
       "</g>\n",
       "<!-- 5821425744 -->\n",
       "<g id=\"node80\" class=\"node\">\n",
       "<title>5821425744</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"959,-1103.5 835,-1103.5 835,-1084.25 959,-1084.25 959,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"897\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425744&#45;&gt;5821425504 -->\n",
       "<g id=\"edge87\" class=\"edge\">\n",
       "<title>5821425744&#45;&gt;5821425504</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M900.8,-1084.08C903.78,-1077.19 908.03,-1067.34 911.78,-1058.66\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"915.37,-1060.18 916.12,-1049.61 908.94,-1057.4 915.37,-1060.18\"/>\n",
       "</g>\n",
       "<!-- 5821424832 -->\n",
       "<g id=\"node81\" class=\"node\">\n",
       "<title>5821424832</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"929,-1164.38 817,-1164.38 817,-1145.12 929,-1145.12 929,-1164.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"873\" y=\"-1150.88\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424832&#45;&gt;5821425744 -->\n",
       "<g id=\"edge88\" class=\"edge\">\n",
       "<title>5821424832&#45;&gt;5821425744</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M876.65,-1144.81C879.96,-1136.68 884.96,-1124.42 889.17,-1114.08\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"892.79,-1115.48 893.32,-1104.9 886.3,-1112.84 892.79,-1115.48\"/>\n",
       "</g>\n",
       "<!-- 5821425840 -->\n",
       "<g id=\"node82\" class=\"node\">\n",
       "<title>5821425840</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"604,-1230.88 504,-1230.88 504,-1211.62 604,-1211.62 604,-1230.88\"/>\n",
       "<text text-anchor=\"middle\" x=\"554\" y=\"-1217.38\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5821425840&#45;&gt;5821424832 -->\n",
       "<g id=\"edge89\" class=\"edge\">\n",
       "<title>5821425840&#45;&gt;5821424832</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M593.28,-1211.18C601.13,-1209.42 609.32,-1207.62 617,-1206 684.44,-1191.76 762.16,-1176.69 814.11,-1166.81\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"814.62,-1170.09 823.79,-1164.79 813.31,-1163.21 814.62,-1170.09\"/>\n",
       "</g>\n",
       "<!-- 5821426224 -->\n",
       "<g id=\"node105\" class=\"node\">\n",
       "<title>5821426224</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"372,-1164.38 260,-1164.38 260,-1145.12 372,-1145.12 372,-1164.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"316\" y=\"-1150.88\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425840&#45;&gt;5821426224 -->\n",
       "<g id=\"edge113\" class=\"edge\">\n",
       "<title>5821425840&#45;&gt;5821426224</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M520.41,-1211.15C478.32,-1199.74 406.13,-1180.17 359.76,-1167.61\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"360.99,-1164.05 350.42,-1164.81 359.16,-1170.8 360.99,-1164.05\"/>\n",
       "</g>\n",
       "<!-- 5774006368 -->\n",
       "<g id=\"node83\" class=\"node\">\n",
       "<title>5774006368</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"658,-1303 450,-1303 450,-1272.5 658,-1272.5 658,-1303\"/>\n",
       "<text text-anchor=\"middle\" x=\"554\" y=\"-1289.5\" font-family=\"monospace\" font-size=\"10.00\">seasonality.season_params.yearly</text>\n",
       "<text text-anchor=\"middle\" x=\"554\" y=\"-1278.25\" font-family=\"monospace\" font-size=\"10.00\"> (1, 1, 12)</text>\n",
       "</g>\n",
       "<!-- 5774006368&#45;&gt;5821425840 -->\n",
       "<g id=\"edge90\" class=\"edge\">\n",
       "<title>5774006368&#45;&gt;5821425840</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M554,-1272.11C554,-1263.13 554,-1251.51 554,-1241.76\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"557.5,-1242.07 554,-1232.07 550.5,-1242.07 557.5,-1242.07\"/>\n",
       "</g>\n",
       "<!-- 5829699856 -->\n",
       "<g id=\"node84\" class=\"node\">\n",
       "<title>5829699856</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"858,-926.5 770,-926.5 770,-907.25 858,-907.25 858,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"814\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5829699856&#45;&gt;5829699472 -->\n",
       "<g id=\"edge91\" class=\"edge\">\n",
       "<title>5829699856&#45;&gt;5829699472</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M824.01,-906.84C832.54,-899.15 845,-887.9 855.22,-878.68\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"857.06,-881.82 862.14,-872.52 852.37,-876.63 857.06,-881.82\"/>\n",
       "</g>\n",
       "<!-- 5821425600 -->\n",
       "<g id=\"node85\" class=\"node\">\n",
       "<title>5821425600</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"858,-987.38 770,-987.38 770,-968.12 858,-968.12 858,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"814\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425600&#45;&gt;5829699856 -->\n",
       "<g id=\"edge92\" class=\"edge\">\n",
       "<title>5821425600&#45;&gt;5829699856</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M814,-967.81C814,-959.85 814,-947.94 814,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"817.5,-937.9 814,-927.9 810.5,-937.9 817.5,-937.9\"/>\n",
       "</g>\n",
       "<!-- 5821425792 -->\n",
       "<g id=\"node86\" class=\"node\">\n",
       "<title>5821425792</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"856,-1048.25 732,-1048.25 732,-1029 856,-1029 856,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"794\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425792&#45;&gt;5821425600 -->\n",
       "<g id=\"edge93\" class=\"edge\">\n",
       "<title>5821425792&#45;&gt;5821425600</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M797.04,-1028.68C799.8,-1020.56 803.96,-1008.29 807.48,-997.95\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"811.03,-999.37 810.93,-988.78 804.4,-997.12 811.03,-999.37\"/>\n",
       "</g>\n",
       "<!-- 5821425888 -->\n",
       "<g id=\"node87\" class=\"node\">\n",
       "<title>5821425888</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"815,-1103.5 703,-1103.5 703,-1084.25 815,-1084.25 815,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"759\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425888&#45;&gt;5821425792 -->\n",
       "<g id=\"edge94\" class=\"edge\">\n",
       "<title>5821425888&#45;&gt;5821425792</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M764.78,-1084.08C769.46,-1076.96 776.22,-1066.68 782.06,-1057.8\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"785.53,-1059.89 788.09,-1049.61 779.68,-1056.04 785.53,-1059.89\"/>\n",
       "</g>\n",
       "<!-- 5821425984 -->\n",
       "<g id=\"node88\" class=\"node\">\n",
       "<title>5821425984</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"780,-1164.38 680,-1164.38 680,-1145.12 780,-1145.12 780,-1164.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"730\" y=\"-1150.88\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5821425984&#45;&gt;5821425888 -->\n",
       "<g id=\"edge95\" class=\"edge\">\n",
       "<title>5821425984&#45;&gt;5821425888</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M734.4,-1144.81C738.45,-1136.6 744.58,-1124.16 749.7,-1113.75\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"753.28,-1115.42 754.55,-1104.9 747,-1112.33 753.28,-1115.42\"/>\n",
       "</g>\n",
       "<!-- 5821424016 -->\n",
       "<g id=\"node109\" class=\"node\">\n",
       "<title>5821424016</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"472,-1103.5 360,-1103.5 360,-1084.25 472,-1084.25 472,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"416\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425984&#45;&gt;5821424016 -->\n",
       "<g id=\"edge118\" class=\"edge\">\n",
       "<title>5821425984&#45;&gt;5821424016</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M688.85,-1144.64C680.63,-1142.88 672.05,-1141.09 664,-1139.5 601.63,-1127.16 530.14,-1114.45 480,-1105.76\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"480.77,-1102.17 470.32,-1103.92 479.57,-1109.07 480.77,-1102.17\"/>\n",
       "</g>\n",
       "<!-- 5774006448 -->\n",
       "<g id=\"node89\" class=\"node\">\n",
       "<title>5774006448</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"834,-1236.5 626,-1236.5 626,-1206 834,-1206 834,-1236.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"730\" y=\"-1223\" font-family=\"monospace\" font-size=\"10.00\">seasonality.season_params.weekly</text>\n",
       "<text text-anchor=\"middle\" x=\"730\" y=\"-1211.75\" font-family=\"monospace\" font-size=\"10.00\"> (1, 1, 6)</text>\n",
       "</g>\n",
       "<!-- 5774006448&#45;&gt;5821425984 -->\n",
       "<g id=\"edge96\" class=\"edge\">\n",
       "<title>5774006448&#45;&gt;5821425984</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M730,-1205.61C730,-1196.63 730,-1185.01 730,-1175.26\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"733.5,-1175.57 730,-1165.57 726.5,-1175.57 733.5,-1175.57\"/>\n",
       "</g>\n",
       "<!-- 5829699280 -->\n",
       "<g id=\"node90\" class=\"node\">\n",
       "<title>5829699280</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"811,-871.25 723,-871.25 723,-852 811,-852 811,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5829699280&#45;&gt;5821362528 -->\n",
       "<g id=\"edge97\" class=\"edge\">\n",
       "<title>5829699280&#45;&gt;5821362528</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M767,-851.83C767,-845.17 767,-835.74 767,-827.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"770.5,-827.36 767,-817.36 763.5,-827.36 770.5,-827.36\"/>\n",
       "</g>\n",
       "<!-- 5829699232 -->\n",
       "<g id=\"node91\" class=\"node\">\n",
       "<title>5829699232</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"743,-926.5 655,-926.5 655,-907.25 743,-907.25 743,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"699\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5829699232&#45;&gt;5829699280 -->\n",
       "<g id=\"edge98\" class=\"edge\">\n",
       "<title>5829699232&#45;&gt;5829699280</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M710.54,-906.84C720.56,-898.99 735.3,-887.45 747.21,-878.12\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"748.92,-880.45 754.64,-871.52 744.6,-874.93 748.92,-880.45\"/>\n",
       "</g>\n",
       "<!-- 5821424688 -->\n",
       "<g id=\"node92\" class=\"node\">\n",
       "<title>5821424688</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"752,-987.38 628,-987.38 628,-968.12 752,-968.12 752,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"690\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424688&#45;&gt;5829699232 -->\n",
       "<g id=\"edge99\" class=\"edge\">\n",
       "<title>5821424688&#45;&gt;5829699232</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M691.37,-967.81C692.58,-959.85 694.4,-947.94 695.96,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"699.57,-938.32 697.62,-927.9 692.65,-937.26 699.57,-938.32\"/>\n",
       "</g>\n",
       "<!-- 5821426032 -->\n",
       "<g id=\"node93\" class=\"node\">\n",
       "<title>5821426032</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"710,-1048.25 598,-1048.25 598,-1029 710,-1029 710,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"654\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5821426032&#45;&gt;5821424688 -->\n",
       "<g id=\"edge100\" class=\"edge\">\n",
       "<title>5821426032&#45;&gt;5821424688</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M659.47,-1028.68C664.6,-1020.3 672.42,-1007.51 678.86,-996.97\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"682.25,-999.13 684.48,-988.78 676.28,-995.48 682.25,-999.13\"/>\n",
       "</g>\n",
       "<!-- 5821426128 -->\n",
       "<g id=\"node94\" class=\"node\">\n",
       "<title>5821426128</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"604,-1103.5 504,-1103.5 504,-1084.25 604,-1084.25 604,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"554\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5821426128&#45;&gt;5821426032 -->\n",
       "<g id=\"edge101\" class=\"edge\">\n",
       "<title>5821426128&#45;&gt;5821426032</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M570.96,-1083.84C586.41,-1075.62 609.46,-1063.34 627.36,-1053.81\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"628.77,-1056.49 635.95,-1048.7 625.48,-1050.31 628.77,-1056.49\"/>\n",
       "</g>\n",
       "<!-- 5821424400 -->\n",
       "<g id=\"node113\" class=\"node\">\n",
       "<title>5821424400</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"572,-1048.25 460,-1048.25 460,-1029 572,-1029 572,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"516\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">PermuteBackward0</text>\n",
       "</g>\n",
       "<!-- 5821426128&#45;&gt;5821424400 -->\n",
       "<g id=\"edge123\" class=\"edge\">\n",
       "<title>5821426128&#45;&gt;5821424400</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M547.73,-1084.08C542.59,-1076.88 535.15,-1066.46 528.76,-1057.51\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"531.07,-1055.72 522.41,-1049.61 525.37,-1059.78 531.07,-1055.72\"/>\n",
       "</g>\n",
       "<!-- 5774006528 -->\n",
       "<g id=\"node95\" class=\"node\">\n",
       "<title>5774006528</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"655,-1170 453,-1170 453,-1139.5 655,-1139.5 655,-1170\"/>\n",
       "<text text-anchor=\"middle\" x=\"554\" y=\"-1156.5\" font-family=\"monospace\" font-size=\"10.00\">seasonality.season_params.daily</text>\n",
       "<text text-anchor=\"middle\" x=\"554\" y=\"-1145.25\" font-family=\"monospace\" font-size=\"10.00\"> (1, 1, 12)</text>\n",
       "</g>\n",
       "<!-- 5774006528&#45;&gt;5821426128 -->\n",
       "<g id=\"edge102\" class=\"edge\">\n",
       "<title>5774006528&#45;&gt;5821426128</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M554,-1139.2C554,-1131.87 554,-1122.87 554,-1114.91\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"557.5,-1114.95 554,-1104.95 550.5,-1114.95 557.5,-1114.95\"/>\n",
       "</g>\n",
       "<!-- 5829700768 -->\n",
       "<g id=\"node96\" class=\"node\">\n",
       "<title>5829700768</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"519,-418 443,-418 443,-398.75 519,-398.75 519,-418\"/>\n",
       "<text text-anchor=\"middle\" x=\"481\" y=\"-404.5\" font-family=\"monospace\" font-size=\"10.00\">TBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700768&#45;&gt;5829701440 -->\n",
       "<g id=\"edge103\" class=\"edge\">\n",
       "<title>5829700768&#45;&gt;5829701440</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M481,-398.58C481,-391.92 481,-382.49 481,-374.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"484.5,-374.11 481,-364.11 477.5,-374.11 484.5,-374.11\"/>\n",
       "</g>\n",
       "<!-- 5829698944 -->\n",
       "<g id=\"node97\" class=\"node\">\n",
       "<title>5829698944</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"531,-473.25 431,-473.25 431,-454 531,-454 531,-473.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"481\" y=\"-459.75\" font-family=\"monospace\" font-size=\"10.00\">AccumulateGrad</text>\n",
       "</g>\n",
       "<!-- 5829698944&#45;&gt;5829700768 -->\n",
       "<g id=\"edge104\" class=\"edge\">\n",
       "<title>5829698944&#45;&gt;5829700768</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M481,-453.83C481,-447.17 481,-437.74 481,-429.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"484.5,-429.36 481,-419.36 477.5,-429.36 484.5,-429.36\"/>\n",
       "</g>\n",
       "<!-- 5774006688 -->\n",
       "<g id=\"node98\" class=\"node\">\n",
       "<title>5774006688</title>\n",
       "<polygon fill=\"lightblue\" stroke=\"black\" points=\"534,-539.75 428,-539.75 428,-509.25 534,-509.25 534,-539.75\"/>\n",
       "<text text-anchor=\"middle\" x=\"481\" y=\"-526.25\" font-family=\"monospace\" font-size=\"10.00\">ar_net.0.weight</text>\n",
       "<text text-anchor=\"middle\" x=\"481\" y=\"-515\" font-family=\"monospace\" font-size=\"10.00\"> (1, 24)</text>\n",
       "</g>\n",
       "<!-- 5774006688&#45;&gt;5829698944 -->\n",
       "<g id=\"edge105\" class=\"edge\">\n",
       "<title>5774006688&#45;&gt;5829698944</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M481,-508.95C481,-501.62 481,-492.62 481,-484.66\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"484.5,-484.7 481,-474.7 477.5,-484.7 484.5,-484.7\"/>\n",
       "</g>\n",
       "<!-- 5829700336 -->\n",
       "<g id=\"node99\" class=\"node\">\n",
       "<title>5829700336</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"421,-816 333,-816 333,-796.75 421,-796.75 421,-816\"/>\n",
       "<text text-anchor=\"middle\" x=\"377\" y=\"-802.5\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829700336&#45;&gt;5829700480 -->\n",
       "<g id=\"edge106\" class=\"edge\">\n",
       "<title>5829700336&#45;&gt;5829700480</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M377.14,-796.37C377.41,-777.78 378,-733.8 378,-696.88 378,-696.88 378,-696.88 378,-296.88 378,-265.87 378,-229.88 378,-208.13\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"381.5,-208.38 378,-198.38 374.5,-208.38 381.5,-208.38\"/>\n",
       "</g>\n",
       "<!-- 5829698896 -->\n",
       "<g id=\"node100\" class=\"node\">\n",
       "<title>5829698896</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"315,-871.25 227,-871.25 227,-852 315,-852 315,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"271\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5829698896&#45;&gt;5829700336 -->\n",
       "<g id=\"edge107\" class=\"edge\">\n",
       "<title>5829698896&#45;&gt;5829700336</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M288.98,-851.59C305.5,-843.29 330.25,-830.86 349.29,-821.29\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"350.57,-824.07 357.93,-816.45 347.42,-817.81 350.57,-824.07\"/>\n",
       "</g>\n",
       "<!-- 5821424208 -->\n",
       "<g id=\"node101\" class=\"node\">\n",
       "<title>5821424208</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"268,-926.5 180,-926.5 180,-907.25 268,-907.25 268,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"224\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">AddBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424208&#45;&gt;5829698896 -->\n",
       "<g id=\"edge108\" class=\"edge\">\n",
       "<title>5821424208&#45;&gt;5829698896</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M231.76,-907.08C238.32,-899.65 247.91,-888.79 255.96,-879.66\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"258.08,-882.42 262.07,-872.61 252.83,-877.79 258.08,-882.42\"/>\n",
       "</g>\n",
       "<!-- 5821424496 -->\n",
       "<g id=\"node102\" class=\"node\">\n",
       "<title>5821424496</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"268,-987.38 180,-987.38 180,-968.12 268,-968.12 268,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"224\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5821424496&#45;&gt;5821424208 -->\n",
       "<g id=\"edge109\" class=\"edge\">\n",
       "<title>5821424496&#45;&gt;5821424208</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M224,-967.81C224,-959.85 224,-947.94 224,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"227.5,-937.9 224,-927.9 220.5,-937.9 227.5,-937.9\"/>\n",
       "</g>\n",
       "<!-- 5821425696 -->\n",
       "<g id=\"node103\" class=\"node\">\n",
       "<title>5821425696</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"282,-1048.25 194,-1048.25 194,-1029 282,-1029 282,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"238\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425696&#45;&gt;5821424496 -->\n",
       "<g id=\"edge110\" class=\"edge\">\n",
       "<title>5821425696&#45;&gt;5821424496</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M235.87,-1028.68C233.96,-1020.64 231.09,-1008.55 228.65,-998.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"231.86,-997.7 226.15,-988.78 225.05,-999.31 231.86,-997.7\"/>\n",
       "</g>\n",
       "<!-- 5821426080 -->\n",
       "<g id=\"node104\" class=\"node\">\n",
       "<title>5821426080</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"315,-1103.5 191,-1103.5 191,-1084.25 315,-1084.25 315,-1103.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"253\" y=\"-1090\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821426080&#45;&gt;5821425696 -->\n",
       "<g id=\"edge111\" class=\"edge\">\n",
       "<title>5821426080&#45;&gt;5821425696</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M250.52,-1084.08C248.6,-1077.26 245.87,-1067.56 243.44,-1058.95\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"246.61,-1058.29 240.53,-1049.61 239.87,-1060.18 246.61,-1058.29\"/>\n",
       "</g>\n",
       "<!-- 5821426224&#45;&gt;5821426080 -->\n",
       "<g id=\"edge112\" class=\"edge\">\n",
       "<title>5821426224&#45;&gt;5821426080</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M306.43,-1144.81C296.9,-1135.9 282.06,-1122.03 270.43,-1111.17\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"273.35,-1109.17 263.66,-1104.9 268.57,-1114.29 273.35,-1109.17\"/>\n",
       "</g>\n",
       "<!-- 5821424304 -->\n",
       "<g id=\"node106\" class=\"node\">\n",
       "<title>5821424304</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"374,-926.5 286,-926.5 286,-907.25 374,-907.25 374,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"330\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5821424304&#45;&gt;5829698896 -->\n",
       "<g id=\"edge114\" class=\"edge\">\n",
       "<title>5821424304&#45;&gt;5829698896</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M319.99,-906.84C311.46,-899.15 299,-887.9 288.78,-878.68\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"291.63,-876.63 281.86,-872.52 286.94,-881.82 291.63,-876.63\"/>\n",
       "</g>\n",
       "<!-- 5821425936 -->\n",
       "<g id=\"node107\" class=\"node\">\n",
       "<title>5821425936</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"374,-987.38 286,-987.38 286,-968.12 374,-968.12 374,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"330\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425936&#45;&gt;5821424304 -->\n",
       "<g id=\"edge115\" class=\"edge\">\n",
       "<title>5821425936&#45;&gt;5821424304</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M330,-967.81C330,-959.85 330,-947.94 330,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"333.5,-937.9 330,-927.9 326.5,-937.9 333.5,-937.9\"/>\n",
       "</g>\n",
       "<!-- 5821425312 -->\n",
       "<g id=\"node108\" class=\"node\">\n",
       "<title>5821425312</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"440,-1048.25 316,-1048.25 316,-1029 440,-1029 440,-1048.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"378\" y=\"-1034.75\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821425312&#45;&gt;5821425936 -->\n",
       "<g id=\"edge116\" class=\"edge\">\n",
       "<title>5821425312&#45;&gt;5821425936</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M370.71,-1028.68C363.66,-1020.04 352.8,-1006.71 344.06,-996\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"346.39,-994.31 337.36,-988.78 340.97,-998.74 346.39,-994.31\"/>\n",
       "</g>\n",
       "<!-- 5821424016&#45;&gt;5821425312 -->\n",
       "<g id=\"edge117\" class=\"edge\">\n",
       "<title>5821424016&#45;&gt;5821425312</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M409.73,-1084.08C404.59,-1076.88 397.15,-1066.46 390.76,-1057.51\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"393.07,-1055.72 384.41,-1049.61 387.37,-1059.78 393.07,-1055.72\"/>\n",
       "</g>\n",
       "<!-- 5829701344 -->\n",
       "<g id=\"node110\" class=\"node\">\n",
       "<title>5829701344</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"421,-871.25 333,-871.25 333,-852 421,-852 421,-871.25\"/>\n",
       "<text text-anchor=\"middle\" x=\"377\" y=\"-857.75\" font-family=\"monospace\" font-size=\"10.00\">SumBackward1</text>\n",
       "</g>\n",
       "<!-- 5829701344&#45;&gt;5829700336 -->\n",
       "<g id=\"edge119\" class=\"edge\">\n",
       "<title>5829701344&#45;&gt;5829700336</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M377,-851.83C377,-845.17 377,-835.74 377,-827.28\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"380.5,-827.36 377,-817.36 373.5,-827.36 380.5,-827.36\"/>\n",
       "</g>\n",
       "<!-- 5821424880 -->\n",
       "<g id=\"node111\" class=\"node\">\n",
       "<title>5821424880</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"489,-926.5 401,-926.5 401,-907.25 489,-907.25 489,-926.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"445\" y=\"-913\" font-family=\"monospace\" font-size=\"10.00\">MulBackward0</text>\n",
       "</g>\n",
       "<!-- 5821424880&#45;&gt;5829701344 -->\n",
       "<g id=\"edge120\" class=\"edge\">\n",
       "<title>5821424880&#45;&gt;5829701344</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M433.46,-906.84C423.44,-898.99 408.7,-887.45 396.79,-878.12\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"399.4,-874.93 389.36,-871.52 395.08,-880.45 399.4,-874.93\"/>\n",
       "</g>\n",
       "<!-- 5821426320 -->\n",
       "<g id=\"node112\" class=\"node\">\n",
       "<title>5821426320</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"516,-987.38 392,-987.38 392,-968.12 516,-968.12 516,-987.38\"/>\n",
       "<text text-anchor=\"middle\" x=\"454\" y=\"-973.88\" font-family=\"monospace\" font-size=\"10.00\">UnsqueezeBackward0</text>\n",
       "</g>\n",
       "<!-- 5821426320&#45;&gt;5821424880 -->\n",
       "<g id=\"edge121\" class=\"edge\">\n",
       "<title>5821426320&#45;&gt;5821424880</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M452.63,-967.81C451.42,-959.85 449.6,-947.94 448.04,-937.74\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"451.35,-937.26 446.38,-927.9 444.43,-938.32 451.35,-937.26\"/>\n",
       "</g>\n",
       "<!-- 5821424400&#45;&gt;5821426320 -->\n",
       "<g id=\"edge122\" class=\"edge\">\n",
       "<title>5821424400&#45;&gt;5821426320</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M506.58,-1028.68C497.21,-1019.78 482.6,-1005.91 471.16,-995.04\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"474.17,-993.12 464.51,-988.78 469.35,-998.2 474.17,-993.12\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<graphviz.graphs.Digraph at 0x15af3dd90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = make_dot(m.model.train_epoch_prediction, params=dict(m.model.named_parameters()))\n",
    "# fig_glob.render(filename='img/fig_glob')\n",
    "display(fig)"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "energy_data_example.ipynb",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  },
  "vscode": {
   "interpreter": {
    "hash": "e488e6bd15b38f84fe669bfc536f96b6c5fb6be3ab1c1213873b81c0afcbd577"
   }
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "24bf564f55644476911a6cf004a395e7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_aab682cd3df24821a80331720f7c24e5",
      "placeholder": "​",
      "style": "IPY_MODEL_f35fc9cbd82c4187a4cdc08c3ac26998",
      "value": " 264/297 [00:04&lt;00:00, 59.93it/s]"
     }
    },
    "2d8235496ec642af8192f52d9f2692b1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8a192ccc35e94e9f8be85898ed583e2c",
      "placeholder": "​",
      "style": "IPY_MODEL_87c170d1e00742a29e7f797e98c49cc2",
      "value": " 89%"
     }
    },
    "4ac0917121f8498698e087259b787dcf": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_2d8235496ec642af8192f52d9f2692b1",
       "IPY_MODEL_c94a8ae41b994c55a96ad44806b0f1c7",
       "IPY_MODEL_24bf564f55644476911a6cf004a395e7"
      ],
      "layout": "IPY_MODEL_94108fe9090f47c7ba2216479e0d3fac"
     }
    },
    "87c170d1e00742a29e7f797e98c49cc2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8a192ccc35e94e9f8be85898ed583e2c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "94108fe9090f47c7ba2216479e0d3fac": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9467345334da47a8beadc770feef952a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "aab682cd3df24821a80331720f7c24e5": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c94a8ae41b994c55a96ad44806b0f1c7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "danger",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_dc468cd35d2b4f0e8eb287689ac15412",
      "max": 297,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_9467345334da47a8beadc770feef952a",
      "value": 264
     }
    },
    "dc468cd35d2b4f0e8eb287689ac15412": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f35fc9cbd82c4187a4cdc08c3ac26998": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
